1. Field of the Invention
The invention relates to wireless programming of mobile devices.
2. Related Art
Using wireless communication, mobile devices can communicate with an application server while continuing to move about. This allows the application server to provide information about the mobile devices to a customer, and to provide information from the customer to the mobile devices, all without any substantial need for restricting the mobility of those mobile devices. For example, one known application includes a system that tracks locations of such mobile devices and reports those locations to the customer.
In known applications, each mobile device periodically provides application information to the application server (such as, for a tracking application, the location of the mobile device) along with information identifying the specific mobile device (such as a unique identifier or electronic serial number). The choice of particular information, and the frequency of its delivery, provided by the mobile device might vary substantially depending on the nature of the application. Known systems include a processing element in the mobile device, which under the control of program and data memory, can perform tasks required by any specific application for which appropriate instructions have been recorded in that memory.
One known problem is that of altering the instructions or parameters re-corded in the memory of the mobile device. This is desirable from time to time, such as to update the instructions in the mobile device with new features or to update the instructions in the mobile device with new instructions with corrections to known bugs. Because it is generally desirable, for ease of administration and for consistency, for substantially all mobile devices to operate using the same instructions and parameters, desired times for updates to the instructions or parameters in the mobile device might be frequent. Physically replacing the memory, or physically traveling to the mobile device to program the memory, are untenably costly. Accordingly, known systems attempt to record instructions in the memory by sending information embodying those instructions using wireless communication. While known techniques generally achieve the goal of downloading new program information to the mobile device, they are subject to several drawbacks.
First, because it can take a substantial amount of time to download a new program for the mobile device, it is generally necessary to agree with a customer associated with the mobile device on a scheduled time for performing wireless programming. Otherwise, the mobile device might be busy, might not be in an area with good wireless reception, or might be used for normal operation during the time needed for wireless programming. This drawback is exacerbated by the time, effort, and expense of contacting the customer, agreeing on a wireless programming schedule, and assuring that the mobile devices (if there are many, and there often are) are in fact ready for wireless programming at the scheduled times.
Second, also because it can take a substantial amount of time to download a new program for the mobile device, it is generally necessary for the mobile device to be quiescent for the entire time needed for performing wireless programming. Otherwise, the downloaded program for the mobile device might fail to be received and injected into the mobile device's memory properly, thus causing either (1) the mobile device to work improperly after wireless programming, (2) the mobile device to require on-site programming to repair the improper download, or both.
Accordingly, it would be advantageous to provide an improved technique for scheduling and performing wireless programming.